[レポート]クラウドガバナンスの10つのベストプラクティスについて学びました (COP318) #AWSreInvent
こんにちは。たかやまです。
re:Invent 2023で行われたBreakOutセッション「COP318 Best practices for cloud governance」のレポートをお伝えします。
セッション概要
タイトル : Best practices for cloud governance
どこから手を付けるべきか、ハイブリッド環境や規制環境をどのように管理するか、組織全体をどのようにクラウドに取り込むか、判断するのは難しいものです。このセッションでは、権限管理、セキュアなワークロードのデプロイ、環境ガバナンスの戦略など、AWS上で適切に設計されたスケーラブルな基盤を構築するためのクラウドガバナンスのベストプラクティスを学びます。AWSがクラウドの採用に成功した組織から学んだ洞察をご覧ください。
スピーカー :
- Krista Gorman
- Svetlana Kolomeyskaya
- Troy Jordan
セッションレベル : 300
動画と資料はこちらです
レポート内容
このセッションでは以下の課題に対処するクラウドガバナンスの10つのベストプラクティスを紹介しています。
- マイグレーション、新しいプロジェクト、組織の移行への対応
- 企業基準や規制要件を遵守するための適切な管理
- 開発における俊敏性を向上させ、開発者にクラウド・ガバナンスをもたらす方法
各章タイトルにYoutubeのタイムスタンプのリンクを貼っていますので、ぜひ動画もご覧ください!
クラウドガバナンスとは?
セッションの始めとしてまずクラウドガバナンスを以下のように定義しています。
「一連のルール、プラクティス、レポートであり、クラウド利用をビジネス目標に合致させるためのもの」
CCoEについて
また、クラウドガバナンスはテクノロジーだけでは解決できず、組織の文化やプロセスについても重要としています。
クラウドガバナンスを推進するために、Cloud Center of Excelence(CCoE)についても紹介しています。
合わせてAWSがクラウドを導入するための設計とプロセスをサポートするAWS Cloud Adoption Framework(AWS CAF)についても紹介しているのでぜひこちらもご覧ください。
クラウドガバナンスの10つのベストプラクティス
1. アカウントをビルディングブロックとして使用する
アカウント制限やクォーター上限、セキュリティ境界/分離の観点からマルチアカウントの利用を推奨しています。
ここでは推奨されるOU構成について紹介しています。
2. 可視性を有効にし、環境全体のユーザー・アクティビティとリスクを追跡する
マルチアカウント環境でのロギングを一元化することをお勧めし、アカウント間のアクティビティが可視化されるようにすることを紹介しています。
3. アカウントのプロビジョニングを自動化し、カスタマイズを使用する
Service CatalogやControl Towerのアカウントファクトリ機能を使用してアカウントのプロビジョニングプロセスを自動化することを紹介しています。
4. 最小権限の原則を適用する
管理アカウントへのアクセスを制限し、必要な最小限の権限のみをユーザーに付与する「最小権限の原則」を紹介しています。IAM Access Analyzerのようなサービスを利用して、ポリシーの有効性を定期的にレビューし、必要に応じて調整することも推奨されています。
また、ここではControl Towerの検出/予防/プロアクティブのセキュリティコントロールについても言及していました。
5. Policy-as-codeを使用してコントロールを定義しピアレビューを実施する
コントロールを人間が読みやすいポリシー言語で定義し、そのコードをチームメンバー間でレビューすること紹介しています。
AWS CloudFormation GuardやOpen Policy Agentのようなツールを使用して、ポリシーを標準化されたコードとして管理し、セキュリティの一貫性と精度を向上させることが推奨しています。
6. 管理目標をセキュリティフレームワークに整合させる
一貫性のあるセキュリティ態勢を確立し、コントロールの有効性を測定するためのベースラインを確立することの重要性を紹介しています。ここでは週1,2回コンプライアンスチームや監査チームとの連携して、セキュリティフレームワークに基づいたコントロールの有効性を確認しているか問うていました。
実際のお客様の事例では仕事の内25%はこのような監査対応に費やしているとのことでした。
7. 予防的コントロールとプロアクティブコントロールを使用し、セキュリティベースラインを保護し、誤った設定が導入されるのを阻止する
セキュリティベースラインを保護し、攻撃対象領域を減らすために、予防的/プロアクティブコントロールを利用することが推奨されています。
これらの仕組みをAWS Control Towerで提供されるマネージドコントロールを用いて実装する方法を紹介しています。
例としてAmazon Athenaに関連するコントロールが挙げられていました。Athenaのワークグループに対する検出型コントロールの実行があり、今後これを是正するために対応するプロアクティブコントロールを有効にして暗号化を導入することが推奨されています。
また、ここでは実際のControl Towerをコントロールの適用を行うデモも行われていました。
8. コントロールの有効性をテストする
コントロールが効果的に機能していることを確認し、重要な基準や管理目標が遵守されていることを保証するために、継続的なテストを行うこと紹介していました。
AWSのサービスであるOrganizations、Config、Audit Managerを活用して証拠収集を自動化し、コンプライアンスチームや監査チームと連携することが推奨されています。監査証拠を自動的に収集し、コンプライアンス状況を継続的に監視することが可能になります。
9. 再現性と一貫性を確保するために、Infrastructure-as-codeとして使用し管理する
インフラストラクチャの構成をコード化して管理することで再現性と一貫性を確保し、コードエディターやバージョン管理システムを利用して、インフラストラクチャを効率的にデプロイし再利用することを推奨しています。
Service CatalogやSystems Manger、Terraformなどのツールを活用して、セルフサービスアクションやバージョン管理を行うことが含まれます。これによって、開発者は迅速にかつ安全に環境を構築し、プロジェクトのデリバリーを加速させることができます。
10. コードのセキュリティ脆弱性を検出する
開発者にツールを提供し、コードを書いている最中に重要なセキュリティの脆弱性や問題を特定できるようにすることが推奨されています。
CodeWhispererのようなツールを使用して、コードの品質を向上させ、セキュリティを組み込んだ開発プロセスを実現することが含まれます。これによって、開発者はイノベーションを促進しつつ、セキュリティのリスクを最小化することができます。
SPS Cloud Governance
SPS Commerce社のTroy Jordan氏が同社のクラウド・ガバナンスの取り組みと旅について話していました。
- タグ付け戦略
- SPS Commerceはタグ付けをデプロイメントから切り離すことで、リソースの所有権を特定しやすくしました。同社システムのTech Registryに登録された一意のID(UUID)を使用してリソースをタグ付けを行うTagging Engineというサービスを作成しました。
- アカウント管理
- AWS Step Functionsを使用してステートマシンを作成し、それを使って新しいAWSアカウントのプロビジョニングを自動化するプロセスを構築したと説明しています。このステートマシンは、サービスカタログを呼び出し、AWS OrganizationsとControl Towerを通じてアカウントをセットアップする一連のステップを実行することで、25分で新しいアカウントを立ち上げることができるようになりました。これにより、手動でアカウントをプロビジョニングするのにかかる時間を大幅に短縮し、効率化を実現しました。
最後に
私自身マルチアカウント環境のガバナンスを考えることが多く、このセッションはとても参考になる内容でした。
個人的に見返すことが多くなりそうなので、各章タイトルにYoutubeのタイムスタンプを貼っています。
10つのベストプラクティスとしてすぐに実践できるものとなっているので、ぜひみなさんも参考にしていただければと思います!
以上、たかやま(@nyan_kotaroo)でした。